package com.yinhe.music.yhmusic.album.list;

import com.yinhe.music.yhmusic.base.IBaseView;
import com.yinhe.music.yhmusic.model.AlbumInfo;

/**
 * 专辑列表契约类
 *
 * @author 何晓华
 */
public interface IAlbumListContract {
    interface IAlbumListPresenter {

        /**
         * 专辑列表
         *
         * @param page     当前页
         * @param pageSize 每页数量
         */
        void getAlbumList(int page, int pageSize);

        /**
         * 获取搜索结果专辑列表
         *
         * @param page     当前页
         * @param pageSize 每页数量
         * @param keyword  关键词
         */
        void getSearchAlbumList(int page, int pageSize, String keyword);

        /**
         * 获取歌手/乐器专辑列表
         *
         * @param from     区分歌手和乐器
         * @param page     当前页
         * @param pageSize 每页数量
         * @param id       歌手/乐器id
         */
        void getSingerAlbumList(int from, int page, int pageSize, int id);

        void getCollectAlbumList(int page, int pageSize);

    }

    interface IAlbumListView extends IBaseView {

        /**
         * 更新列表UI
         *
         * @param albumInfo 　专辑信息
         */
        void setAlbumListUI(AlbumInfo albumInfo);

        /**
         * 加载更多失败UI
         */
        void setLoadMoreFailUI();
    }

}
